With the growth of modern computing trends, there is an increased demand in portability and improved functionality of a handheld device, wherein a handheld device may be, but not limited to, a cellular phone, a personal digital assistant (PDA), a pager, a smart phone, or any other suitable portable electronic device capable of providing graphical interactivity, as recognized by one having ordinary skill in the art. Furthermore, with the convergence of handheld devices having improved functionality and stand alone computing systems, such as a desktop or laptop computer, having greater interactivity with the handheld device, there is a greater demand for improved functionality and quality of interactivity between multiple handheld devices and also interactivity between the handheld device and the stand alone computing system.
An emerging area in handheld devices is the development of interactive video games to be played on the handheld device. With these graphic intensive applications, there exist prior art limitations with regard to graphical architecture for generating the graphical output. One common problem in the handheld device is the limited power and memory resources. Current graphics rendering techniques, including three-dimensional graphics rendering techniques, require an extensive amount of power to perform the various and multiple steps in a graphics-processing pipeline. Furthermore, three-dimensional graphics rendering may also be memory intensive due to memory requirements for storing, among other things, vertex information, pixel information, and/or texture data. In modern handheld devices, due to size requirements and power requirements, there is an extremely limited amount of available space for providing memory resources and power consumption constraints severely restrict graphics rendering while maintaining an extended mobile device battery life.
It would be extremely inefficient to use existing graphics processing techniques in modern handheld devices. For example, the handheld device includes a central processing unit (CPU) which controls functions for the handheld device, such as in the example wherein the handheld device is a cellular telephone, but the central processor must coordinate the operations of the various components to allow for communication and internal operations. Available processing cycles within the handheld device CPU severally restricts the graphics processing availability and/or the quality of a rendered image.
One solution for overcoming CPU computation limitations is the offloading of processing requirements to subsequent processors, such as a graphics processor, similarly found in devices, such as laptop computers and desktop computers. Although, a current solution is the performance of fixed function transformations of the rendering data, such as vertex information, by the CPU and triangle setup/rasterization computations by an external graphics hardware device, such as a graphics processor. Typically, current handheld device CPUs do not support floating point calculations and also have very poor transform performance, which results in the handheld device being unable to render an image have a high polygon number, thereby limiting the quality of the subsequent output display.
Other limitations found within current handheld devices are limited physical real-estate for placing graphics rendering engines and also limited bandwidth availability for processing the graphics rendering data. As handheld devices become more compact, there exists less real-estate for the insertion of additional processors for performing the graphics processing operations, such as two-dimensional or three-dimensional rendering. Furthermore, the available bandwidth for transmitting the graphics rendering data is also limited. Among other things, size constraints prohibit a large data bus for graphics rendering information and therefore can severely restrict the processing speed and/or quality of a graphics rendering engine.
Therefore, a need exists for a method and apparatus that overcomes power consumption requirements, limited memory resources, limited graphics transformation processing within the handheld device and provides for graphics rendering effectively augmenting the limited available resources within the mobile device.